Legacy computing devices were utilized to create documents, spreadsheets, and e-mails. Such computing devices provided monophonic sounds, which were utilized primarily to indicate occurrences of system events. Computing devices are now also used to play games, surf the Internet, listen to music, watch movies and the like. Accordingly, conventional computing devices provide multi-channel audio capabilities.
Referring to FIG. 1, a block diagram of an audio portion of a computer system, in accordance with the conventional art, is shown. As depicted in FIG. 1, the computer includes a processor 110, a memory 120, an audio system 130 and an output device (e.g., speaker) 140. The audio system 130 is communicatively coupled between the processor 110, memory 120 and output device 140.
The processor 110 provides an operating system and one or more applications. One or more of the applications may cause the processor 110 to provide one or more sounds. The processor 110 issues commands to the audio system 130 which contain the location in memory 120 (e.g., an address) of one or more wave tables to be played and parameters to be used to play the sounds. The wave table consists of a series of digital samples of a sound. The parameters may include the frequency (e.g., pitch) of the sound to be generated from the wave table, the envelope (e.g., attack, sustain, decay) describing the amplitude of the sound through time, and a tremolo to modulate the frequency. The audio system 130, in response to commands from the processor 110, retrieves one or more sounds from the wave tables stored in memory 120. The audio system 130 processes the sounds according to the parameters, thereby generating audio data. The audio system 130 then converts the audio data to an analog output which may be played on a given output device (e.g., speaker) 140.
It is expected that computer users will continue to demand improved audio systems for delivering high definition video, high definition audio, streaming video, streaming audio, multiplayer games, and/or other on-demand audio and video content. Accordingly, the audio system needs to provide ever increasing audio processing capabilities while minimizing processor utilization and bus traffic. Therefore, an improved audio system capable of processing multiple sounds, from a plurality of applications, which can be output to any number of output devices, with reduced processor utilization, reduced generation of bus traffic and reduced latency, is needed.